As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
Information handling systems frequently employ slow but inexpensive magnetic hard disk drives (HDDs) as the primary form of persistent data storage device. Faster devices may be used as a storage cache in such systems to improve I/O performance. However, most valid data residing in a storage cache is eventually written back to the primary data storage device.
The write back efficiency of a data storage system may not be a significant component of overall I/O performance during normal operating periods because write backs are likely to occur relatively infrequently if a sufficiently sized cache is employed and because write backs that do occur generally pertain to a small number of storage cache entries.
An operating system may sort HDD read/write operations in logical block address (LBA) order to reduce the overall seek latency. If, however, the same system is virtualized as multiple virtual machines with two or more of them sharing a common set of one or more HDDs, the individually sorted I/O streams are aggregated by the hypervisor and the aggregated I/O stream is generally no longer sorted in LBA order. The lack of LBA ordering exhibited in virtualized systems may be referred to herein as the “I/O blender” phenomenon.